import { requestInt, requestFileInt } from './service'
import dayjs from 'dayjs'
/**
 * 用户登录接口
 * @param {*} data 
 */
export function login(data) {
  return requestInt({
    url: '/user/login',
    method: 'post',
    data,
    hideLoadingFlag: true,
    isHeaderData: true // 是否将header的内容返回
  })
}
/**
 * 用户登录接口
 * @param {*} data 
 */
export function userMobile(data) {
  return requestInt({
    url: '/user/mobile',
    method: 'put',
    data
  })
}
/**
 * 获取群组列表
 * @param {*} data 
 */
export function groupList(params) {
  return requestInt({
    url: '/group/list',
    method: 'get',
    params
  })
}
/**
 * 获取用户列表
 * @param {*} data 
 */
export function userList(data) {
  return requestInt({
    url: '/user/list',
    method: 'post',
    data: data,
    isData: true
  })
}
/**
 * 加入群组接口
 * @param {*} data 
 */
export function groupJoin(data) {
  return requestInt({
    url: '/group/join',
    method: 'post',
    data
  })
}
/**
 * 退出群组接口
 * @param {*} data 
 */
export function groupLeave(data) {
  return requestInt({
    url: '/group/leave',
    method: 'post',
    data
  })
}
/**
 * 公共数据接口，获取兴趣、技能、话题等接口
 * @param {*} data 
 */
export function commonTagList(data) {
  return requestInt({
    url: '/common/tag/list',
    method: 'get',
    data,
    hideLoadingFlag: true
  })
}
/**
 * 创建账号,步骤1
 * @param {*} data 
 */
export function userInfoStepOne(data) {
  return requestInt({
    url: '/user/info/step-1',
    method: 'PUT',
    data
  })
}
/**
 * 创建账号,步骤2
 * @param {*} data 
 */
export function userInfoStepTwo(data) {
  return requestInt({
    url: '/user/info/step-2',
    method: 'PUT',
    data
  })
}
/**
 * 创建账号,步骤3
 * @param {*} data 
 */
export function userInfoStepThree(data) {
  return requestInt({
    url: '/user/info/step-3',
    method: 'PUT',
    data
  })
}
/**
 * 创建账号,步骤4
 * @param {*} data 
 */
export function userInfoStepFour(data) {
  return requestInt({
    url: '/user/info/step-4',
    method: 'PUT',
    data
  })
}
/**
 * 创建账号,步骤5
 * @param {*} data 
 */
export function userInfoStepFive(data) {
  return requestInt({
    url: '/user/info/step-5',
    method: 'PUT',
    data
  })
}
/**
 * 获取用户自己详情
 * @param {*} data 
 */
export function userDetail(data) {
  return requestInt({
    url: '/user/detail',
    method: 'get',
    data,
    hideLoadingFlag: true
  })
}
/**
 * 获取他人的用户详情
 * @param {*} data 
 */
export function userTargetInfo(data) {
  return requestInt({
    url: '/user/target-info',
    method: 'get',
    data
  })
}
/**
 * 获取EQ测试结果
 * @param {*} data 
 */
export function eqTestResult(data) {
  return requestInt({
    url: '/eq/test/result',
    method: 'get',
    data
  })
}
/**
 * 获取EQ测试问题
 * @param {*} data 
 */
export function eqTestQuestion(data) {
  return requestInt({
    url: '/eq/test/question',
    method: 'get',
    data
  })
}
/**
 * 进行EQ测试，提交测试
 * @param {*} data 
 */
export function eqTestOver(data) {
  return requestInt({
    url: '/eq/test',
    method: 'post',
    data
  })
}
/**
 * 更新EQ测试结果技巧（此接口路径与提交测试接口路径一样，但是method不一样）
 * @param {*} data 
 */
export function eqTestOverPut(data) {
  return requestInt({
    url: '/eq/test',
    method: 'PUT',
    data
  })
}
/**
 * 获取EQ的TAB页面的数据（就是整个EQ页面需要的数据）
 * @param {*} data 
 */
export function eqAll(data) {
  return requestInt({
    url: '/eq',
    method: 'get',
    data
  })
}
/**
 * 获取与对应性格人聊天统计
 * @param {*} data 
 */
export function userChatStatistics(data) {
  return requestInt({
    url: '/user/chat-statistics',
    method: 'get',
    data
  })
}
/**
 * 获取EQ技巧文章详情
 * @param {*} data 
 */
export function eqArticleDetail(data) {
  return requestInt({
    url: '/eq/article/detail',
    method: 'get',
    data
  })
}
/**
 * 获取一起玩，寻求帮助的请求列表
 * @param {*} data 
 */
export function commonRequestList(data) {
  return requestInt({
    url: '/common/request/list',
    method: 'get',
    data
  })
}
/**
 * 获取临时上传文件连接
 * @param {*} data 
 */
export function presignedUrl(data) {
  return requestInt({
    url: '/upload/presigned-url',
    method: 'get',
    name: 'file',
    data,
    headers: {
      'Date': dayjs().valueOf(),
      'Content-Type': 'image/png'
    }
    // contentType: 'multipart/form-data'
  })
}
/**
 * 好友操作后调用的接口
 * @param {*} data 
 */
export function contactFriend(data) {
  return requestInt({
    url: '/im/contact/friend',
    method: 'post',
    data
  })
}
/**
 * 获取好友请求列表
 * @param {*} data 
 */
export function friendRequestList(data) {
  return requestInt({
    url: '/im/contact/friend-request/list',
    method: 'get',
    hideLoadingFlag: true,
    data
  })
}
/**
 * 黑名单操作，加入黑名单以及移除黑名单
 * @param {*} data 
 */
export function contactBlacklist(data) {
  return requestInt({
    url: '/im/contact/blacklist',
    method: 'post',
    data
  })
}
/**
 * 黑名单操作，加入黑名单以及移除黑名单
 * @param {*} data 
 */
export function deleteContactFriend(data) {
  return requestInt({
    url: `/im/contact/friend/${data.targetUserId}`,
    method: 'DELETE',
    data
  })
}

/**
 * 修改IM自定义消息
 * @param {*} data 
 */
export function rewriteImMessage(data) {
  return requestInt({
    url: '/im/messages/rewrite',
    method: 'post',
    hideLoadingFlag: true,
    data,
  })
}
/**
 * 获取与对方的关系，null则用户已注销
 * @param {*} data 
 */
export function getUserRelation(data) {
  return requestInt({
    url: '/im/relation',
    method: 'get',
    hideLoadingFlag: true,
    data,
  })
}
/**
 * 检测与对方是否有聊过天
 * @param {*} data 
 */
export function userCheckChatted(data) {
  return requestInt({
    url: '/user/check-chatted',
    method: 'get',
    data
  })
}
/**
 * 标记已和对方聊过天
 * @param {*} data 
 */
export function userChatted(data) {
  return requestInt({
    url: `/user/chatted/${data.targetUserId}`,
    method: 'post',
    data
  })
}

/**
 * 删除用户
 * @param {*} data 
 */
export function userDelete(data) {
  return requestInt({
    url: '/user/delete',
    method: 'DELETE',
    data
  })
}
/**
 * 获取所有好友列表
 * @param {*} data 
 */
export function allFriendList(data) {
  return requestInt({
    url: '/im/contact/friend/list',
    method: 'get',
    hideLoadingFlag: true,
    data
  })
}
/**
 * 省、市、区
 * @param {*} data 
 */
export function getCodeRegion(data) {
  return requestInt({
    // url: `/core/region`,
    url: `/core/all-region`,
    method: 'get',
    data,
    hideLoadingFlag: true
  })
}
/**
 * 解锁个人资料
 * @param {*} data 
 */
export function profilePhone(data) {
  return requestInt({
    url: `/user/profile-photo`,
    method: 'post',
    data,
  })
}
/**
 * 所有群组简介列表
 * @param {*} data 
 */
export function groupSummaryList(data) {
  return requestInt({
    url: `/group/summary/list`,
    method: 'get',
    data,
  })
}
/**
 * 所有群组简介列表
 * @param {*} data 
 */
export function presenceList(data) {
  return requestInt({
    url: `/user/presence/list`,
    method: 'post',
    data,
  })
}
/**
 * 禁止开启好友弹框
 * @param {*} data 
 */
export function friendRequestPopUp(data) {
  return requestInt({
    url: `/user/friend-request-pop-up`,
    method: 'put',
    data,
    hideLoadingFlag: true
  })
}

/**
 * 每分钟发送一个心跳
 * @param {*} data 
 */
export function heartbeat(data) {
  return requestInt({
    url: `/user/heartbeat`,
    method: 'head',
    data,
    isData: true,
    hideLoadingFlag: true
  })
}




/**
 * 上传文件
 * @param {*} data 
 */
export function uploadFile(data) {
  console.log(data);
  return requestFileInt({
    url: data.url,
    method: 'put',
    data,
    contentType: data.contentType
  })
}